package com.chen.base.module.redis.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * redis队列数据消费者
 * @Author: 陈锦龙
 * @Date: 2025/7/3 10:54
 */
@Target(value = {ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RedisConsumer {

    /** 队列的key */
    String value();

    /** 历史消费的key */
    String historyKey() default "_history";

    /** 获取队列的值超时时间 */
    long timeout() default 10;

    /** 获取队列的值超时时间单位 */
    TimeUnit unit() default TimeUnit.SECONDS;

    /** redis实例bean名称 */
    String redisTemplateBeanName() default "redisTemplate";

    /** 保留历史消费的记录数 */
    int historyCustomerCount() default 50;

}
